package com.park.dao;

import com.park.model.Arrears;
import com.park.model.ChargeRecord;
import com.park.model.SupplementaryRecord;
import com.park.model.SupplementaryRecordExample;

import java.util.Date;
import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

public interface SupplementaryRecordMapper {
    int deleteByPrimaryKey(Integer id);

    int insert(SupplementaryRecord record);

    int insertSelective(SupplementaryRecord record);

    List<SupplementaryRecord> selectByExample(SupplementaryRecordExample example);

    SupplementaryRecord selectByPrimaryKey(Integer id);

    int updateByPrimaryKeySelective(SupplementaryRecord record);

    int updateByPrimaryKey(SupplementaryRecord record);

	List<SupplementaryRecord> select(@Param("startPage")int startPage, @Param("pageSize")int pageSize, @Param("plateNumber")String plateNumber, @Param("portNumber")String portNumber, @Param("parkName")String parkName, @Param("exitDateStart")String exitDateStart, @Param("exitDateEnd")String exitDateEnd, @Param("operatorId")String operatorId);

	int getCount(@Param("plateNumber")String plateNumber, @Param("portNumber")String portNumber, @Param("parkName")String parkName, @Param("exitDateStart")String exitDateStart, @Param("exitDateEnd")String exitDateEnd, @Param("operatorId")String operatorId);

	List<ChargeRecord> getChargeRecord(@Param("startPage")int i, @Param("pageSize")int pageSize, @Param("account")String account, @Param("name")String name, @Param("startTime")Date parse,
			@Param("endTime")Date parse2);

	int getChargeRecordAllCount(@Param("account")String account, @Param("name")String name, @Param("startTime")Date parse,
			@Param("endTime")Date parse2);

	List<Map<String, Integer>> getByDateTime(@Param("startDate")String startDate,@Param("endDate") String endDate, @Param("parkIds")List<Integer> parkIds);

	List<SupplementaryRecord> select1(@Param("arrears")Arrears arrears);

	int getCount1(@Param("arrears")Arrears arrears);

	int getAllSupplementary();

	int getOfDay(@Param("ids")List<Long> ids);
}
